Typical log-structured storage systems store record data in temporal order in a “log.” These typical systems allow basic primitive operations, such as insert, update, delete, read. Each update of data results in a new record being inserted at the tail of the “log.” Each delete results in a tombstone object being inserted at the tail of the log. Additionally, a background garbage collection (GC) process compacts the data reclaiming space that does not contain valid data.